/*
 * @Author: your name
 * @Date: 2022-04-27 14:55:42
 * @LastEditTime: 2022-05-04 20:29:16
 * @LastEditors: your name
 * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 * @FilePath: /vue3-vben/src/api/statis/model/statisModel.ts
 */

interface DayGamestatisPageParams {
  startDate: string | number | undefined;
  endDate: string | number | undefined;
  channel?: string | number | undefined;
  pageidx: number | string;
  pagesize: number | string;
}

interface GameDayStatisResult<T extends any> {
  list: T[];
  count: number;
}

/**
 * @description: Request list interface parameters
 */
export type GetGameDayStatisParams = DayGamestatisPageParams;

export interface DemoListItem {
  day: number | string;
  userCnt: number | string;
  playUserCnt: number | string;
  newUserCnt: number | string;
  rechargeUserCnt: number | string;
  rechargeCnt: number | string;
  rechargeTotal: number | string;
  matchRoundCnt: number | string;
  robotRoundCnt: number | string;
  videoCnt: number | string;
  videoRewardCnt: number | string;
  loginUserCnt: number | string;
  day2Login: number | string;
  day3Login: number | string;
  day7Login: number | string;
}

/**
 * @description: Request list return value
 */
export type GetGameDayStatisResultModel = GameDayStatisResult<DemoListItem>;

interface GameUserChannelResult<T extends any> {
  list: T[];
}

export interface ChannelItem {
  channel: number | string;
  name: string;
}

export type GameUserChannelResultModel = GameUserChannelResult<ChannelItem>;
